package code.example.base.reflect.api;
/**
 *  Type 是java 语言中所有类型的父接口，它包括：
 *     1.原始类型  Class
 *     2.泛型参数化类型  ParameterizedTypes 如 List<Person>
 *     3.数组类型   GenericArrayType  如 T []
 *     4.泛型变量类型  TypeVariable  如 ArrayList<E> 中的E
 *     5.泛型范围变量类型 WildcardType  如List<? extends Persion> (上限) List<? super Integer> （下限）
 *
 *
 * Type is the common superinterface for all types in the Java
 * programming language. These include raw types, parameterized types,
 * array types, type variables and primitive types.
 *
 * @since 1.5
 */
public interface TypeAPI {
    /**
     * Returns a string describing this type, including information
     * about any type parameters.
     *
     * @implSpec The default implementation calls {@code toString}.
     *
     * @return a string describing this type
     * @since 1.8
     */
    default String getTypeName() {
        return toString();
    }

}
